package com.linkoog.devtools.code_generator.template.loader.zip;

import com.intellij.openapi.diagnostic.Logger;
import com.linkoog.devtools.code_generator.template.loader.TemplateLoader;
import com.linkoog.devtools.code_generator.template.model.node.TemplateNodeData;
import com.linkoog.devtools.code_generator.template.render.engine.TemplateType;
import com.linkoog.devtools.code_generator.util.StringUtil;

import java.io.IOException;
import java.io.InputStream;

/**
 *  加载Classpath中的zip模板
 */
public class ClasspathZipTemplateLoader implements ZipTemplateLoader {

    private static final Logger LOGGER = Logger.getInstance(ClasspathZipTemplateLoader.class);

    public TemplateNodeData loadTemplate(TemplateType templateEngineType, String templateName, String resourcePath){
        if (StringUtil.isBlank(templateName) || StringUtil.isBlank(resourcePath)){
            return null;
        }

        InputStream inputStream = ClasspathZipTemplateLoader.class.getResourceAsStream(resourcePath);
        if (inputStream == null) return null;

        try {
            return TemplateLoader.zipToTemplate(templateEngineType, templateName, inputStream, null, null, null);
        } catch (IOException ignored) {
        }
        return null;
    }
}
